module iopmp_crossbar_module (

    input         iopmpst_clk_i        ,
    input         iopmpst_rst_n_i      ,

    input         iopmpcb_cfg_en_i     ,
    input [7:0]   iopmpcb_node_addr_i  ,
    input         iopmpcb_node_wen_i   ,
    input         iopmpcb_node_ren_i   ,
    input [31:0]  iopmpcb_node_wdata_i ,

    input [31:0]  iopmpcb_rd1_i        ,
    input [31:0]  iopmpcb_rd2_i        ,
    input [31:0]  iopmpcb_rd3_i        ,

    output reg [31:0] iopmpcb_rddata_o ,

    output        iopmpcb_node_clk_o   ,
    output        iopmpcb_node_rstn_o  ,
    output        iopmpcb_cfg_en_o     ,
    output [7:0]  iopmpcb_node_addr_o  ,
    output        iopmpcb_node_wen_o   ,
    output        iopmpcb_node_ren_o   ,
    input [31:0]  iopmpcb_node_wdata_o 
);
wire [4:0] node_id;
assign node_id = iopmpcb_node_addr_i[7:3];

always @(*) begin
    case (node_id)
        5'd1: iopmpcb_rddata_o = iopmpcb_rd1_i;
        5'd2: iopmpcb_rddata_o = iopmpcb_rd2_i;
        5'd3: iopmpcb_rddata_o = iopmpcb_rd3_i;
        default: iopmpcb_rddata_o = 32'd0;
    endcase
end

assign iopmpcb_node_clk_o  = iopmpst_clk_i          ;
assign iopmpcb_node_rstn_o = iopmpst_rst_n_i        ;
assign iopmpcb_cfg_en_o    = iopmpcb_cfg_en_i       ;
assign iopmpcb_node_addr_o = iopmpcb_node_addr_i    ;
assign iopmpcb_node_wen_o  = iopmpcb_node_wen_i     ;
assign iopmpcb_node_ren_o  = iopmpcb_node_ren_i     ;
assign iopmpcb_node_wdata_o  = iopmpcb_node_wdata_i ;



    
endmodule